
all: regcomp.flag

RNG.urd:
	idlc -C -I$(OOoSDK)/idl RNG.idl

RNG.rdb: RNG.urd
	regmerge RNG.rdb /UCR RNG.urd

com: RNG.rdb
	cppumaker -BUCR -Torg.openoffice.sheet.addin.XRNG \
		-Tcom.sun.star.sheet.XAddIn \
		-Tcom.sun.star.lang.XServiceName \
		-Tcom.sun.star.lang.XServiceInfo \
		-Tcom.sun.star.lang.XTypeProvider \
		-Tcom.sun.star.uno.XWeak \
		-Tcom.sun.star.uno.XAggregation \
		-Tcom.sun.star.lang.XMultiServiceFactory \
		-Tcom.sun.star.uno.XComponentContext \
		-Tcom.sun.star.lang.XSingleComponentFactory \
		-Tcom.sun.star.lang.XSingleServiceFactory \
		-Tcom.sun.star.registry.XRegistryKey \
		$(OOo)/offapi.rdb \
		$(OOoURE)/share/misc/types.rdb \
		RNG.rdb

RNG_impl.o: com
	g++ -O2 -fPIC -fomit-frame-pointer -c -o RNG_impl.o -DUNX \
	-DGCC -DLINUX -DCPPU_ENV=gcc3 -I. -I$(OOoSDK)/include RNG_impl.cxx

libRNG.so: RNG_impl.o
	ld -o libRNG.so -shared --retain-symbols-file symbols.txt \
	-L$(OOoURE)/lib -luno_cppuhelpergcc3 RNG_impl.o

regcomp.flag: libRNG.so
	regcomp -register -r *.rdb -c *.so
	touch regcomp.flag

clean:
	rm -rf com org *.o *.urd *.so *.rdb *.flag

